home *** CD-ROM | disk | FTP | other *** search
- NOVELL TECHNICAL INFORMATION DOCUMENT
-
- TITLE: TCP16.EXE; Client TCP/IP Transport (update)
- README FOR: TCP16.EXE
-
- NOVELL PRODUCTS and VERSIONS:
- NetWare Connect 1.0
- LAN WorkGroup 4.1
- LAN WorkGroup 4.2
- LAN WorkPlace for DOS 4.2
- LAN WorkPlace for DOS 4.1
- NetWare/IP 1.1
- LANalyzer for Windows 2.1
- NetWare Client for DOS/MS Windows 1.2
- LAN WorkPlace 5 for MS Windows and DOS
- NetWare/IP 2.1
- NetWare Connect 2.0
- NetWare/IP 2.2
-
- ABSTRACT:
-
- [UPDATED: 1996/03/25] TCP16.EXE is the latest maintenance patch for the client
- TCP/IP protocol stack. It contains the latest fixes for Novell's 16-bit Client
- TCP/IP protocol stack. Files which are no longer associated with this protocol
- stack remain available via LW42T3.EXE.
-
-
- -----------------------------------------------------------------
- DISCLAIMER
- THE ORIGIN OF THIS INFORMATION MAY BE INTERNAL OR EXTERNAL TO NOVELL. NOVELL
- MAKES EVERY EFFORT WITHIN ITS MEANS TO VERIFY THIS INFORMATION. HOWEVER, THE
- INFORMATION PROVIDED IN THIS DOCUMENT IS FOR YOUR INFORMATION ONLY. NOVELL
- MAKES NO EXPLICIT OR IMPLIED CLAIMS TO THE VALIDITY OF THIS INFORMATION.
- -----------------------------------------------------------------
-
-
- ISSUE:
-
- Table of Contents
-
- 1 - INTRODUCTION / INSTALLATION INSTRUCTIONS
- 2 - NEW THIS REVISION
- 2.1 - TCPIP.EXE
- 2.2 - WLIBSOCK.DLL
- 2.3 - PING.EXE
- 2.4 - EXTRANEOUS FILES REMOVED
- 2.5 - NEW INSTALLATION NOW SUPPORTED
- 3 - UPDATES FROM PREVIOUS REVISION(S)
- 4 - ENHANCEMENT HISTORY
- 5 - WINSOCK V1.1 COMPLIANCE
-
- -----------------------------------------------------------------
-
-
- 1 - INTRODUCTION / INSTALLATION INSTRUCTIONS
-
- 1.1 - INTRODUCTION
-
- This document is formatted as a reference document. Rather than trying to
- read this entire document, use the Table of Contents to determine which
- sections to read in detail.
-
- Module versions are indicated at the beginning of each symptom below. In all
- cases, these fixes are the current (included) version of the given module.
-
- The name of this patch, TCP16.EXE, will not change while the contents will
- with new revisions of the TCP/IP client. Updates to this patch will be
- indicated in the ABSTRACT with the date the patch was updated.
-
-
- 1.2 - INSTALLATION INSTRUCTIONS
-
- Install this patch by:
-
- - Running the INSTALLR.BAT batch file, or
-
- - COPYing the files in this patch into the proper product \NET\BIN directory
- (d:\NET\BIN, or server/volume:NET\BIN).
-
- - Run LWP_CHK.BAT and address any warnings that are applicable.
-
-
- 1.3 - PATCH HISTORY
-
- TCP16.EXE (Rev 4) partially supersedes LW42T3.EXE (Rev 3). (LW42T3.EXE is
- still available.)
- LW42T3.EXE (Rev 3) supersedes LW42T2.EXE (Rev 2). (VTCPIP.386 re-added.)
- LW42T2.EXE (Rev 2) supersedes LWP42T.EXE (Rev 1).
- LWP42T.EXE (Rev 1) supersedes LWP208.EXE.
-
-
- 2 - NEW THIS REVISION
-
- 2.1 - TCPIP.EXE
-
- 2.1.1 - 5.00.201: New baseline. Same as 5.00.104.
-
- 2.1.2 - 5.00.104: Completed implementing the TCP and UDP socket fix started in
- 5.00.102.
-
- 2.1.3 - 5.00.103: Added NetWare/IP support for accessing a specific route.
-
- 2.1.4 - 5.00.102: Support of feature to flush UDP packets when resource
- shortages occur (LSL buffers, PECBs) made optional.
-
- To enable this functionality, add the following keyword to the PROTOCOL TCPIP
- section.
-
- PROTOCOL TCPIP
- UDP_FLUSH ## Flush UDP packets when resources are low.
-
- 2.1.5 - 5.00.102: Automatic ARP of the local workstation IP address made
- optional.
-
- When the protocol stack initializes, a RARP request is generated with a zero
- source IP address to see if the IP address is in use. The zero source IP
- address causes Wellfleet routers to generate errors logs, which in turn cause
- unwanted network degradation.
-
- To enable this functionality, add the following keyword to the PROTOCOL TCP/IP
- section.
-
- PROTOCOL TCPIP
- NO_DUPCHK ## Disable the RARP request when the stack loads.
-
- 2.1.6 - 5.00.102: Corrected problems with garbage BOOTPTAB files.
-
- The return code from the call NWGetConnectionInformation() was being ignored.
- The return code is now checked and an error returned, if appropriate.
-
- 2.1.7 - 5.00.102: Fixed a TCP protocol reconnect problem.
-
- When a TCP/IP client crashes and attempts to reconnect, the protocol stack did
- not properly respond to the SYN (Synchronize) packet request. Likewise, when a
- server attempted to reconnect, the stack did not respond properly to the RST
- (Reset) packet request.
-
- 2.1.8 - 5.00.102: Increased the default TCP and UDP default number of sockets
- to 15 each.
-
- Formerly, the default number of sockets for the TCP and UDP protocols
- defaulted to 8. These have been maximized in Novell's 16-bit WinSock
- environment to 15 for both TCP and UDP. This fix helps maintain web surfing
- configurations by balancing and maximizing the default number of TCP and UDP
- sockets.
-
- Due to Novell's 16-bit WinSock limitation of 31 total sockets (15 TCP sockets,
- 15 UDP sockets and 1 raw (ICMP) socket), the number of TCP and UDP sockets are
- actually less than those supported by the WLIBSOCK.DLL interface.
-
- To alter the balance or reduce the number of sockets, add the following
- keywords to the PROTOCOL TCP/IP section.
-
- PROTOCOL TCPIP
- TCP_SOCKETS 12 ## Set (reduce) the number of TCP sockets to 12.
- UDP_SOCKETS 12 ## Set (reduce) the number of UDP sockets to 12.
- RAW_SOCKETS 1 ## This is the maximum value supported for ICMP sockets.
-
- 2.1.9 - 5.00.101: Merged R42-1U and 5.00.100.
-
- 2.1.10 - R42-1U: Added UDP_FLUSH and NO_DUPCHK keywords to PROTOCOL TCPIP
- section. (See 2.1.4 and 2.1.5.)
-
- 2.2 - WLIBSOCK.DLL
-
- 2.2.1 - 5.00.201: New baseline. Same as 5.00.101.
-
- 2.2.2 - 5.00.101: Corrected resource and memory leaks.
-
- These leaks were found when opening and closing Host Presenter sessions using
- host names rather than IP addresses on a continuous basis. The resource and
- memory leaks eventually resulted in DNS failures. Once this failure occurred,
- DNS functionality was disabled, though direct IP addresses still continued to
- work. Prior to this fix the only solution was to unload and reload the stack
- (the quickest way being to reboot).
-
- 2.3 - PING.EXE
-
- 2.3.1 - 5.00.201: New baseline. Same as 5.00.102.
-
- 2.3.2 - 5.00.102: Now supports Client-32 for DOS / Windows.
-
- 2.4 - EXTRANEOUS FILES REMOVED
-
- In order to provide a minimal and freely available technology, Novell is
- releasing these files independent of a product mechanism. As such, the
- following files are no longer associated with this patch:
-
- LWPCON.EXE, LWPCON.MSG, LWPCON.HLP, SNMP.EXE, IPTUNNEL.EXE, RFCNBIOS.EXE
-
- 2.5 - New Installations Now Supported.
-
- This patch now provides minimum support for configuring a client with the
- Novell TCP/IP-16 protocol stack. This patch looks for the following products
- via their signature file, in the order below, to determine how the installation
- / update should take place.
-
- LWPCON.EXE -- LAN WorkPlace / LAN WorkGroup / NetWare Connect
- VLM.EXE -- NetWare Client, other Novell products.
-
- If these two files are not found on your path, the patch installer will create
- C:\NWCLIENT and drop all files in that directory. It will also create / append
- to the NET.CFG in that directory with comments on how to minimally configure
- your client.
-
- It is recommended that the NetWare Client be installed prior to the
- installation of this patch, but this patch may be installed on a clean system
- as long as the required ODI components are obtained elsewhere. If the required
- ODI components (LSL.COM and your LAN driver) do not exist on your client, your
- new installation will be incomplete.
-
- Full documentation for this information can be found on the web at these
- locations:
-
- http://occam.sjf.novell.com:8080/iamg.lwp50.english/transenu/1.toc
- http://occam.sjf.novell.com:8080/nw410.english/ws_d2enu/1.toc
-
-
-
- 3 - UPDATES FROM PREVIOUS REVISION(S)
-
- The following details are from previous revisions of this patch.
-
- 3.1 - INSTALLR.BAT / WHICH.EXE
-
- The installer uses the utilities WHICH.EXE and DOS REPLACE.EXE. It also
- requires about 1024 bytes of free environment space. The batch file will find
- the correct directory tree by looking for a signature file (namely LWPCON.EXE
- or VLM.EXE). If there are any problems running the installer batch utility,
- manually update your appropriate directories with the files contained in this
- patch using the REPLACE or COPY command.
-
- Usage: INSTALLR [/h] [/p] [/r] [/d dir]
-
- where:
- /hDisplays this information.
- /rView the TCP16.TXT file after installing.
- /pPrompts user before adding/replacing each file.
- dirOptionally specifies the directory to be upgraded.
-
- WARNING: This batch file requires an environment size of 1024 or more.
- Add this line to CONFIG.SYS to ensure proper execution.
- SHELL=C:\MSDOS\6\COMMAND.COM C:\ /E:2048 /P
-
- NOTE: WHICH.EXE identifies the locations and full names of specified files
- found in DOS PATH. "WHICH -h" will produce a usage description. This program
- is not supported by Novell, Inc and is a utility provided by Technical Support.
- It is donated to this patch by John "Frotz" Fa'atuai (Frotz@novell.com).
-
-
- 3.2 - LWP_CHK.BAT / LWP_LOG.BAT
-
- LWP_CHK.BAT will examine your environment and determine if there are multiple
- copies of files in unexpected locations. It will generate a log file (LWP.LOG)
- in the TEMP directory. LWP.LOG lists the important files that were found via
- your PATH, complete with version and path information. Run this batch file to
- determine if your client TCP/IP environment is stable. LWP_LOG.BAT is used by
- LWP_CHK.BAT to create LWP.LOG.
-
- NOTE: When running LWP_CHK.BAT and LWP_LOG.BAT, these files must either be in
- a directory on the PATH or in your current directory.
-
-
- 3.3 - PING.EXE
-
- 3.3.1 - R412-2B: PING now correctly handles user-interrupts (Control-C, or
- Control-Break) and avoids the error "Unable to open a socket, error 55".
-
- 3.3.2 - R412-2A: If the DNS server returns more than one IP address for a host
- name, PING.EXE will use the first address in the resulting list.
-
-
- 3.4 - TCPIP.EXE
-
- 3.4.1 - R42-1T: Now correctly responds to BOOTP requests from ARCNET clients.
-
- 3.4.2 - R42-1S: Implemented the SO_LINGER option for LAN WorkPlace for DOS
- Toolkit socket calls. This is required by Netscape Navigator and other World
- Wide Web browsers when the user interrupts an in-progress connection.
-
- 3.4.3 - R42-1R: Now correctly responds to a network PING.
-
- 3.4.4 - R42-1R: TCPIP.EXE no longer times out the internal route table.
-
- 3.4.5 - R42-1R: Corrected a problem with NetWare/IP (which did not work with
- R42-1N).
-
- 3.4.6 - R42-1Q: Fixes a problem sending UDP datagrams. This problem should
- only have affected DNS name resolution.
-
- 3.4.7 - R42-1P: TCP sockets opened with RFCNBIOS.EXE would sometimes be left
- open, even after the session was closed.
-
- 3.4.8 - R42-1P: Setting a TCP_WINDOW (under the NET.CFG PROTOCOL TCPIP) will
- now display a warning if the value is greater than 32767. In this situation,
- the value is now set to 32767, rather than 0 (as was the case in previous
- versions).
-
- 3.4.9 - R42-1O: The LAN WorkPlace for DOS Toolkit call so_write() would hang
- if the passed a buffer size larger than 32725 bytes.
-
-
- 3.4.10 - The correct usage for TCPIP.EXE is:
-
- TCPIP [-h] [-s] [-u] [-c=full path to NET.CFG] [-x=do not load high]
-
- -u -- Attempt to unload TCPIP.EXE.
- -h -- Display command line usage.
- -s -- Only display signon banner.
- -x -- Load in conventional memory only. Don't load high.
- -c=file -- Use 'file' as the preferred NET.CFG.
-
- Previous versions of TCPIP.EXE supported a "-W" parameter. This is now
- controlled in NET.CFG via the option CRITICAL_SECTION under PROTOCOL TCPIP.
-
- NOTE: R42-1T still supports the "-s" option, though future revisions of
- TCPIP.EXE will drop support for this command line switch.
-
- 3.4.11 - R42-1N: Now works with all versions of SLIP_PPP.COM. This includes
- SLIP_PPP.COM (prior to 7/20/94, 42,046 bytes) as well as the latest version of
- SLIP_PPP.COM found in LWP42D.EXE. NOTE: 1995/07/01: SLIP_PPP.COM has now be
- updated by NetWare Connect with NESL.COM, NCOMX.COM and NWREMOTE.COM.
-
- 3.4.12 - R42-1N: Now performs bounds checking when dispatching protocol
- control events.
-
- 3.4.13 - R42-1N: Now returns error code ENETDOWN on TCP sockets when the
- serial driver detects a dropped connection.
-
- 3.4.14 - R42-1N: Workstations with 3C509 cards no longer hang. The 3C509 MLID
- driver passed bad packets up the protocol stack, when TCPIP.EXE wasn't
- expecting them. These bad packets are now discarded. This was a problem with
- 3C509 cards and NetWare/IP.
-
- 3.4.15 - R42-1N: Resolves the RXMONSTK problem with LANalyzer for Windows 2.1.
-
- 3.4.16 - R42-1M: Entering and exiting of Windows Critical Sections were
- restructured.
-
- 3.4.17 - R42-1M: Now correctly deallocates all memory associated with the TSR
- upon unloading. Previously, the PSP did not deallocate if the TSR was loaded
- into upper memory (UMBs).
-
- 3.4.18 - R42-1L: TCPIP.EXE and WGTCPIP.EXE are merged into a common
- executable. LAN WorkGroup administrators need to change any references of
- WGTCPIP.EXE to TCPIP.EXE in the LANWG.BAT files.
-
- 3.4.19 - R42-1L: Now checks for COMPAQ CIM interface failures.
-
- 3.4.20 - R42-1L: Now tries to automatically load itself high into any
- available UMBs. If memory is unavailable, it loads in conventional memory.
- NOTE: To disable this functionality, invoke TCPIP.EXE with a "-x" parameter.
-
- 3.4.21 - R42-1K: Fixed a minor cosmetic bug when printing the sign-on banner.
-
- 3.4.22 - R42-1K: The frame types FDDI_SNAP and IBM_PCN2L were not displayed
- when the protocol stack loaded. Instead 'Unknown' was displayed.
-
- 3.4.23 - R42-1J: Fixes in the LAN WorkPlace Toolkit call connect_anr().
-
- 3.4.24 - R42-1F: "LSLERR-DUPLICATE-ENTRY" error occurred if TCPIP.EXE was
- re-entered after loading WGTCPIP.EXE, or vice versa. This has been resolved by
- merging TCPIP.EXE and WGTCPIP.EXE.
-
- 3.4.25 - R42-1F: HARDWARE TYPE 6 was used instead of HARDWARE TYPE 1 when
- doing an ARP. Both HARDWARE TYPEs 1 and 6 are now supported. Only while doing
- an ARP send on HARDWARE TYPE 6 will the HARDWARE TYPE in the packet be sent as
- type 1.
-
- 3.4.26 - R42-1D: Applications would hang with Thomas Conrad 100 MBPS ARCNET
- cards and other ARCNET cards.
-
- 3.4.27 - R42-1N: A new feature of TCPIP.EXE automatically loads VTCPIP.386 VxD
- when MS Windows is started in Enhanced Mode (provided that VTCPIP.386 is on DOS
- PATH). Therefore, "DEVICE=VTCPIP.386" can now be removed from Windows
- SYSTEM.INI. VTCPIP.386 will no longer complain when MS Windows is started in
- enhanced mode with TCPIP.EXE not resident.
-
- 3.4.28 - R42-1A: Fixes a problem relative to Xserver (from VisionWare). The
- listen() call was being invoked with an argument of zero (0), which caused all
- incoming connections to be refused.
-
- 3.4.29 - R412-2B: No longer runs slowly or hangs when receiving packets that
- required re-assembly at the IP layer.
-
-
- 3.5 - WLIBSOCK.DLL
-
- 3.5.1 - R42-1D: WLIBSOCK.DLL no longer reports problems with multi-homed
- hosts. Previous versions of WLIBSOCK.DLL had the first byte set to zero and
- the last byte truncated.
-
- 3.5.2 - R42-1D: Now uses QUERY instead of IQUERY. Previously used a defunct
- INVERSE QUERY mechanism.
-
- 3.5.3 - R42-1D: Now supports partial host names.
-
- 3.5.4 - R42-1D: Now recursively walks up the DNS tree.
-
- 3.5.5 - R42-1D: RESOLV.CFG now supports up to 8 name servers. When a name
- resolution is started, the TCP/IP protocol stack currently queries all 8
- servers at the same time. Users may want to change this so that the name
- servers are queried sequentially. The following enhanced commands may be
- placed anywhere within RESOLV.CFG.
-
- Syntax: SEARCH DNS HOSTS SEQUENTIAL
-
- This example searches the DNS first, then the HOSTS file, and search the DNS
- servers sequentially.
-
- Syntax: SEARCH DNS
-
- This searches DNS only and makes concurrent queries to the DNS servers.
-
- Syntax: SEARCH HOSTS
-
- This example searches the \NET\TCP\HOSTS file only.
-
- Syntax: SEARCH HOSTS DNS SEQUENTIAL
-
- This example searches the HOSTS file first, then the DNS servers sequentially.
-
- Syntax: SEARCH DNS HOSTS
-
- This is the default behavior, unless overridden.
-
- 3.5.6 - R42-1D: RESOLV.CFG now supports more than one domain name.
-
- The maximum number of domain names is: 20
- The maximum number of name servers is: 8
-
- Example \NET\TCP\RESOLV.CFG:
-
- domain novell.com
- domain sjf.novell.com
- domain prv.novell.com
- domain svl.novell.com
- domain dus.novell.com
- domain novell.jp.co
-
- nameserver xx.xx.xx.xx
- nameserver yy.yy.yy.yy
- nameserver zz.zz.zz.zz
-
- search dns hosts sequential
-
-
- 3.6 - WINSOCK.DLL
-
- 3.6.1 - R42-1A: Support for SO_LINGER implemented. SO_LINGER is a LAN
- WorkPlace Toolkit option passed to setsockopt() which allows the immediately
- tear-down of a socket once the local machine has closed the socket, rather than
- waiting for the remote machine to also close the socket.
-
- 3.6.2 - R-2C: Fixes a problem in gethostbyname() for multi-homed hosts. The
- list of address returned in struct hostent was incorrect when an address other
- than the last in the list contained a 0 in one of the address bytes. The
- problem occurs only if there is a 0 in one of the address bytes and there is
- more than one address for the host.
-
- 3.6.3 - R-2C: Fixes a problem where WASIsBlocking() would sometimes return
- TRUE while there was an outstanding call to WSAAsyncGetHostByName() yet no
- outstanding blocking function was being serviced.
-
- 3.6.4 - R-2B: Now returns WSASYSNOTREADY on WSAStartup() if stack is not
- loaded.
-
- 3.6.5 - R-2B: Now allows cancel of gethostbyname().
-
- 3.6.6 - R-2B: Minimizes fixed low memory usage.
-
- 3.6.7 - R-2B: Now supports 16 addresses in struct hostent.
-
- 3.6.8 - R-2B: gethostbyname() now supports longer names (more than 32 bytes).
-
-
- 3.7 - VTCPIP.386
-
- 3.7.1 - R412-2a: VTCPIP.386 is now auto-loaded by TCPIP.EXE when Windows 3.1
- Enhanced Mode (or later) loads without requiring an entry in SYSTEM.INI
- (DEVICE=VTCPIP.386). This VxD must be on the PATH. If TCPIP.EXE is not loaded
- when Windows starts, VTCPIP.386 won't complain about not finding the Novell
- 16-bit Client TCP/IP protocol stack.
-
-
- 3.8 - NOVASYNC.EXE
-
- 3.8.1 - R41-2B: Corrected internal timing problems which could cause General
- Protect Failures.
-
-
-
- 4 - ENHANCEMENT HISTORY
-
- 4.1 - NET.CFG: Windows Critical Section Enhancements.
-
- New Windows Critical Section code was written. By default, this code is
- enabled and the default for this option is YES. If there are any timing issues
- that are discovered after upgrading to the new TCPIP.EXE contained within this
- patch, disable this option with a value of NO.
-
- The syntax is as follow:
-
- PROTOCOL TCPIP
- CRITICAL_SECTION YES | NO
-
- Example:
-
- PROTOCOL TCPIP
- CRITICAL_SECTION YES ## Default is YES.
-
-
- 4.2 - NET.CFG: Dead Router Detection and Recovery
-
- The protocol stack will automatically switch to a backup router if the primary
- router fails. Switching to a backup router prevents the interruption of user
- applications. The switch occurs when the selected router does not respond to
- an ARP request or when the protocol stack detects excessive TCP
- retransmissions. Router switching applies to default routers as well as
- routers in the Route Cache Table.
-
- The syntax is:
-
- PROTOCOL TCPIP
- IP_ROUTER {ip_address} | {host_address}
-
- In the syntax given above, the IP_ROUTER line may be replicated up to 3 times.
-
- Example:
-
- PROTOCOL TCPIP
- IP_ROUTER 128.57.4.254 ## First router
- IP_ROUTER 128.57.4.253 ## Second router
- IP_ROUTER 128.57.4.252 ## Third router
-
-
- 4.3 - NET.CFG: Adding Static Routes.
-
- Allows you to set a permanent entry in the routing table to associate the
- destination network host address with a router address. Static route
- configuration places the indicated route(s) into the IP routing database. IP
- uses these routes in addition to dynamically discovered routes to direct
- packets.
-
- Static routes may either be added to manually NET.CFG or added by using
- d:\NET\BIN\LWPCON.EXE (Local Workstation | Tables | Routing Tables).
-
- The syntax is as follow:
-
- PROTOCOL TCPIP
- ROUTE { HOST | NET } {address} {router_address}
-
- Example 1:
-
- PROTOCOL TCPIP
- ROUTE HOST 128.57.225.24 128.57.4.19
-
- Example 2:
-
- PROTOCOL TCPIP
- ROUTE NET 128.90.0.0 128.57.6.55
-
-
- 4.4 - NET.CFG: New Frame Types Supported
-
- TCPIP will now automatically perform a protocol registration for frame types
- FDDI_SNAP and IBM_PCN2_SNAP.
-
- Example 1:
-
- LINK DRIVER FDDI_MLID
- FRAME FDDI_SNAP
-
- Example 2:
-
- LINK DRIVER IBM_PCN2_MLID
- FRAME IBM_PCN2_SNAP
-
-
- 4.5 - NET.CFG: Tuning the TCP Protocol Receive Window Size.
-
- WARNING: For performance reasons, Novell's 16-bit TCP/IP protocol stack does
- not calculate the window size at each packet. Instead, the value specified by
- the TCP_WINDOW parameter is blindly used. Increasing this value above the
- default of 2880 can cause TCP packet retransmissions due to dropped packets.
- This problem will be addressed with Novell's 32-bit TCP/IP protocol stack which
- will be available with Client-32 for DOS / Windows.
-
- Establishes the TCP protocol's initial maximum receive window size. This
- controls how many back-to-back packets a remote host will transmit.
-
- Since the TCP window size is a function of the ability to receive the data,
- adjusting the LSL BUFFERS is necessary to accommodate larger TCP_WINDOW
- settings. A simplistic relation (formula) which describes the TCP_WINDOW size
- setting is:
-
- window LESS THAN OR EQUAL TO (number_buffers * (packet_frame_size -
- packet_header_size))
-
- To simplify this calculation, use zero for packet_header_size.
-
- Ethernet has 16 bytes of header overhead. FDDI has approximately 58 symbols
- of header overhead (approximately 36 bytes). ARCNet has 9 bytes of header
- overhead. Token Ring has 21 bytes of overhead.
-
- If other protocol stacks are utilizing the ODI BUFFERS for incoming data, the
- dynamic TCP_WINDOW size will be adjusted accordingly. A TCP_WINDOW size of 0
- (only found in LAN traces) indicates that the sending host should wait until
- the receiving host's protocol stack has available buffers to receive the data.
-
- The syntax is:
-
- LINK SUPPORT
- BUFFERS {buffers} {frame_size}
-
- PROTOCOL TCPIP
- TCP_WINDOW {window_size}
-
- The minimum {window_size} is 512 and maximum is 32767. The default
- {window_size} is 2880.
-
- The {frame_size} for ETHERNET_II is 1518. The {frame_size} for FDDI is 4558.
- The {frame_size} for ARCNet is 517. The value of {frame_size} is the packet
- headers plus the packet data for a given media type.
-
- Ethernet Example:
-
- LINK SUPPORT
- BUFFERS 16 1518 ## Allow 16 inbound frames.
-
- PROTOCOL TCPIP
- TCP_WINDOW 17856 ## 12 packets sans headers.
-
- This example arbitrarily leaves 4 packets for use by other protocol stacks.
-
- Token Ring Example:
-
- LINK SUPPORT
- BUFFERS 8 4202 ## Allow 8 inbound frames.
-
- PROTOCOL TCPIP
- TCP_WINDOW 20905 ## 5 packets sans headers.
-
- This example arbitrarily leaves 3 packets for use by other protocol stacks.
-
- FDDI Example:
-
- LINK SUPPORT
- BUFFERS 10 4558 ## Allow 10 inbound frames.
-
- PROTOCOL TCPIP
- TCP_WINDOW 22500 ## 5 packets sans headers.
-
- This example arbitrarily leaves 5 packets for use by other protocol stacks.
-
- ARCNet Example:
-
- LINK SUPPORT
- BUFFERS 12 517 ## Allow 12 inbound frames
-
- PROTOCOL TCPIP
- TCP_WINDOW 6096 ## 12 packets sans headers.
-
- This example arbitrarily leaves 0 packets for use by other protocol stacks.
-
-
- 4.6 - NET.CFG: TCP Maximum Segment Size Tuning
-
- Controls the maximum TCP packet segment size to be used when communicating
- with other nodes. This packet segment size must be smaller than the current
- frame size. It might also be used to avoid down-stream packet fragmentation
- and subsequent reassembly if the packet crosses a heterogeneous protocol
- router, where the packet size shrinks. The minimum recommended segment size is
- 200 bytes. The maximum segment size depends on a particular MLID and is beyond
- the scope of this document.
-
- Example:
-
- PROTOCOL TCPIP
- TCP_MAXSEGSIZE 512
-
- This example sets the maximum packet size to 512 bytes. This means that
- out-bound packets will be limited to 512 bytes of data (excluding headers).
-
-
- 4.7 - NET.CFG: Configuration of minimum and maximum transmission timeouts.
-
- TCPIP.EXE now allows the configuration of the minimum and maximum
- retransmission timeouts.
-
- An example of timeout options in NET.CFG is as follow:
-
- PROTOCOL TCPIP
- TCP_MINRXMIT 1 ## 1 tick
- TCP_MAXRXMIT 540 ## 540 ticks
-
- TCP_MINRXMIT ranges between 1 and 540 ticks (default is 1). TCP_MAXRXMIT
- ranges from 540 to 1080 (default is 540).
-
- Example: Values are in units of 55 milliseconds (ticks). Since the standard
- BIOS tick rate is 18.2 times per second, you would use the following setting to
- have retransmits fire after approximately 1 second.
-
- PROTOCOL TCPIP
- TCP_MINRXMIT 18 ## 18 * 55 = 990ms (~1 second)
-
-
- 4.8 - NET.CFG: Duplicate IP Address Detection.
-
- Detects whether the assigned local IP address is already being used by another
- node on the local network. The IP address can be obtained either through
- NET.CFG configuration or dynamically from the BOOTP or RARP server. If TCP/IP
- detects a duplicate IP address, TCPIP.EXE will not load and the following error
- message appears:
-
- FATAL: IP address assigned is already in use by: NNNNNNNNNNNN.
-
- where NNNNNNNNNNNN is the six-byte hardware address of the node currently
- using the IP address.
-
-
-
- 5 - WinSock v1.1 Compliance
-
- Development with WINSOCK requires the WINSOCK.H file and the WINSOCK v1.1
- specification also an import library of WINSOCK.DLL must be created. The
- WINSOCK.H file and WINSOCK v1.1 specification can be obtained at the following
- Internet addresses:
-
- <A
- HREF="ftp://sunsite.unc.edu/pub/micro/pc-stuff/ms-windows/winsock/winsock-1.1">
-
- ftp://sunsite.unc.edu/pub/micro/pc-stuff/ms-windows/winsock/winsock-1.1
-
- </A>
-
-
- 5.1 - WINSOCK.DLL Dependencies
-
- After application of TCP16.EXE, WINSOCK.DLL relies on WLIBSOCK.DLL,
- NOVASYNC.EXE, and TCPIP.EXE if you are using Novell's 16-bit TCP/IP protocol
- stack. This might be via any one of the products listed above.
-
-
- 5.2 - UNSUPPORTED OR IMPLEMENTATION DIFFERENCES
-
- The following list identifies features of Windows Sockets that are unsupported
- or supported differently by Novell's 16-bit TCP/IP protocol stack.
-
- - MSG_PEEK is ignored on recv() or recvfrom().
-
- - MSG_DONTROUTE is ignored on send() or sendto().
-
- - The socket control option SIOACATMARK is not supported. WSAEINVAL will be
- returned if used.
-
-
- 5.3 - Socket Handling Options Summarized.
-
- The following notes refer to section 5.5 which summarizes handling of socket
- options.
-
- 5.3.1 - The following socket options default to TRUE and cannot be changed to
- FALSE.
-
- SO_BROADCAST
- SO_DONTLINGER
- SO_OOBINLINE
-
- 5.3.2 - The following socket options default to FALSE and cannot be changed to
- TRUE.
-
- SO_DEBUG
- SO_DONTROUTE
- SO_ERROR
-
- 5.3.3 - Out-of-Band Data
-
- Since SO_OOBINLINE is always TRUE, specifying MSG_OOB on recv() or recvfrom()
- has no effect. Out-of-band data is always received as normal data.
- Out-of-band data may be sent.
-
-
- 5.4 - Sockets
-
- 5.4.1 - The maximum number of sockets supported is 31.
-
- 5.4.2 - Raw Sockets
-
- You can create sockets of type SOCK_RAW using the socket function. The
- supported functions for raw sockets are:
-
- socket(), ioctlsocket() to set non-blocking mode, sendto(), recvfrom(), and
- closesocket().
-
- 5.4.3 - Raw Sockets and Ping
-
- Raw sockets are supported only for Ping. The application is responsible for
- building and processing ICMP headers.
-
- 5.4.4 - Terminating communications
-
- Either do not use shutdown() at all, or use shutdown() only when preparing to
- terminate communications (for example, to close the socket).
-
- 5.4.5 - FIN packet
-
- If you use shutdown() to disable sending, Novell's 16-bit TCP/IP protocol
- stack sends a FIN packet. An application should not issue a send() or sendto()
- after a shutdown() which has disabled sending.
-
- 5.4.6 - Receiving After a Shutdown
-
- An application should not issue a recv() or recvfrom() after a shutdown() that
- disabled receiving.
-
-
- 5.5 - Socket Options
-
- <PRE>
- Option Default setsockopt() Return Values
- ------------- -------- --------------------------
- SO_RCVBUF 4096 yes
- SO_SNDBUF 4096 yes
- SO_ACCEPTCONN FALSE WSAENOPROTOOPT
- SO_BROADCAST TRUE WSAENOPROTOOPT if setsockopt() called with
- SO_BROADCAST.
- SO_DONTLINGER TRUE WSAENOPROTOOPT if setsockopt() called with
- SO_DONTLINGER.
- SO_OOBINLINE TRUE WSAENOPROTOOPT if setsockopt() called with
- SO_OOBINLINE.
- SO_DEBUG FALSE WSAENOPROTOOPT if setsockopt() called with SO_DEBUG.
- SO_DONTROUTE FALSE WSAENOPROTOOPT if setsockopt() called with
- SO_DONTROUTE.
- SO_ERROR FALSE WSAENOPROTOOPT if setsockopt() called with SO_ERROR.
- SO_TYPE none WSAENOPROTOOPT
- SO_KEEPALIVE FALSE yes
- SO_REUSEADDR FALSE yes
- TCP_NODELAY not supp WSAENOPROTOOPT
- SO_LINGER FALSE yes
- </PRE>
-
- Calling getsockopt() with TCP_NODELAY will return WSAENOPROTOOPT. All other
- options are supported.
-
-
- Self-Extracting File Name: tcp16.exe
-
- Files Included Size Date Time
-
- ..\
- TCP16.TXT (This file)
- INSTALLR.BAT 8616 3-26-96 12:50:12 pm
- LWP_CHK.BAT 14436 3-31-95 5:01:00 pm
- LWP_LOG.BAT 1613 3-31-95 5:01:00 pm
- NOVASYNC.EXE 4960 3-5-96 5:01:00 pm
- PING.EXE 54666 3-5-96 5:01:00 pm
- PING.MSG 2500 3-5-96 5:01:00 pm
- PING.PIF 545 7-21-92 5:01:00 pm
- TCPIP.EXE 71169 3-5-96 5:01:00 pm
- VTCPIP.386 10995 3-5-96 5:01:00 pm
- WHICH.EXE 26751 12-7-94 5:01:00 pm
- WINSOCK.DLL 35632 3-5-96 5:01:00 pm
- WLIBSOCK.DLL 50170 3-5-96 5:01:00 pm
-
-
- Installation Instructions:
-
- Install this patch by:
-
- - Unpack this archive by running TCP16 in an empty TEMP directory.
-
- - Running the INSTALLR.BAT batch file, or
-
- - COPYing the files in this patch into the proper product \NET\BIN directory
- (d:\NET\BIN, or server/volume:NET\BIN).
-
- - Run LWP_CHK.BAT and address any warnings that are applicable.
-
-
-
- -----------------------------------------------------------------
- Any trademarks referenced in this document are the property of their
- respective owners. Consult your product manuals for complete trademark
- information.
- -----------------------------------------------------------------
-
-